package com.wgy.day30.FileFilter文件过滤器;

import java.io.File;

public class Demo02FilenameFilter {
    public static void main(String[] args) {
        File f1 = new File("D:\\小云\\abc");
        getAllFiles(f1);

    }

    public static void getAllFiles(File dir) {
/*
        //使用FilenameFilter匿名内部类过滤器
        File[] files = dir.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return new File(dir, name).isDirectory() || name.toLowerCase().endsWith(".java");
            }
        });
*/

/*
        //使用Lambda表达式标准格式优化
        File[] files = dir.listFiles((File d, String name)-> {
                return new File(d, name).isDirectory() || name.toLowerCase().endsWith(".java");
        });
*/

        //使用Lambda表达式省略格式优化
        File[] files = dir.listFiles((d, name)->new File(d, name).isDirectory() || name.toLowerCase().endsWith(".java"));

        for (File f : files) {
            if (f.isDirectory()) {
                getAllFiles(f);
            } else {
                System.out.println(f);
            }

        }

    }
}
